package com.keba.lamp.tenant.vo.update;

import com.keba.basic.base.entity.SuperEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.io.Serializable;

/**
 * <p>
 * 表单修改方法VO
 * 租户app配置
 * </p>
 *
 * @author twg
 * @date 2025-06-15 21:54:33
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
@Accessors(chain = true)
@EqualsAndHashCode
@Builder
@Schema(description = "租户app配置")
public class DefTenantAppConfigUpdateVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "主键")
    @NotNull(message = "请填写主键", groups = SuperEntity.Update.class)
    private Long id;

    /**
     * 乐观锁
     */
    @Schema(description = "乐观锁")
    @NotNull(message = "请填写乐观锁")
    private Integer revision;

    /**
     * h5/小程序标题
     */
    @Schema(description = "h5/小程序标题")
    @Size(max = 100, message = "h5/小程序标题长度不能超过{max}")
    private String appName;
    /**
     * 小程序的appid
     */
    @Schema(description = "小程序的appid")
    @Size(max = 255, message = "小程序的appid长度不能超过{max}")
    private String mpAppId;
    /**
     * 小程序的app_secret
     */
    @Schema(description = "小程序的app_secret")
    @Size(max = 500, message = "小程序的app_secret长度不能超过{max}")
    private String mpAppSecret;
    /**
     * h5启用状态;[0-禁用 1-启用]
     */
    @Schema(description = "h5启用状态")
    @NotNull(message = "请填写h5启用状态")
    private Integer h5State;
    /**
     * 小程序启用状态;[0-禁用 1-启用]
     */
    @Schema(description = "小程序启用状态")
    @NotNull(message = "请填写小程序启用状态")
    private Integer mpState;

    /**
     * h5 logo
     */
    @Schema(description = "h5图标")
    private Long h5Logo;

    /**
     * mp logo
     */
    @Schema(description = "mp图标")
    private Long mpLogo;



}
